Didaktische Ansätze zum Programmierenlernen
Lernen mit Lösungsbeispielen
Das Lernen mit Lösungsbeispielen basiert auf dem Prinzip der kognitiven Meisterlehre, bei der der Lehrende zunächst den Lösungsprozess modelliert und erklärt. Lernende übernehmen dann schrittweise Verantwortung, bis sie selbstständig arbeiten können.
- Ziel: Lernende sollen Konzepte verstehen, abstrahieren und auf neue Probleme übertragen können.
- Anwendung: Typisch sind Vervollständigungsaufgaben, bei denen Schüler unvollständigen Code ergänzen, debuggen und erweitern.
Didaktische Modelle nach Van Merrienboer
Van Merrienboer beschreibt drei Herangehensweisen zum Programmierenlernen:
- Leseansatz: Analyse und Modifikation bestehender Programme, Debugging und Erweiterung. Eigene Programme werden erst später erstellt.
- Expertenansatz: Lernende arbeiten an komplexen Projekten, bei denen sie das benötigte Wissen sukzessive erwerben.
- Spiralansatz: Schrittweiser Aufbau von Kenntnissen durch kleinere Aufgaben mit zunehmender Komplexität.
Programmieren als Prozess
Programmieren wird als inkrementeller, explorativer Prozess verstanden, der folgende Kernkompetenzen erfordert (Du Boulay, 1989):
- Verständnis für Programme und ihre Funktion.
- Modell des Computers („notational machine“).
- Syntax und Semantik der Programmiersprache.
- Problemlösungsstrategien und algorithmische Patterns.
- Praktische Fähigkeiten (Planen, Implementieren, Testen, Debugging).
Live-Coding als didaktischer Ansatz
Live-Coding bietet die Möglichkeit, den Programmierprozess sichtbar und interaktiv zu gestalten:
Vorteile
Ziel
Die Lernenden erkennen, dass Code schrittweise entsteht und Debugging ein essenzieller Bestandteil des Programmierprozesses ist.
Reflexion und Bewertung der Ansätze
Vergleich der Ansätze
Kriterium | Lernen mit Lösungsbeispielen | Leseansatz | Expertenansatz | Spiralansatz | Live-Coding |
---|---|---|---|---|---|
Zielgruppe | Anfänger und Fortgeschrittene | Anfänger | Fortgeschrittene | Anfänger | Anfänger und Fortgeschrittene |
Praktikabilität | Gut umsetzbar, da Beispiele konkret sind | Einsteigerfreundlich | Motivation durch Projekte | Progressiver Wissensaufbau | Reale Simulation des Prozesses |
Motivation | Gering bei rein passivem Lernen | Gut durch Interaktion | Hoch durch Projektbezug | Mittel, abhängig von Aufgaben | Hoch durch aktive Teilnahme |
Lernerfolg | Hoch bei gut strukturierten Beispielen | Moderat, erfordert Reflexion | Hoch durch Anwendung | Gut durch kleinschrittiges Lernen | Hoch durch Prozesssichtbarkeit |
Stärken und Schwächen der Ansätze
Empfehlung
Die Kombination mehrerer Ansätze ist ideal, da unterschiedliche Lernphasen und Lernstile angesprochen werden:
Live-Coding eignet sich besonders gut zur Einführung komplexer Prozesse, da es den explorativen und iterativen Charakter des Programmierens erlebbar macht.